home *** CD-ROM | disk | FTP | other *** search
- \* PHRASE FILE
- \* Generate FORTRAN programs
- \*
-
- %MAIN
- \PROGRAM\DECLARATIONS\STATEMENTS\END
-
- \*
- \* Main blocks
- \*
-
- %PROGRAM
- \I/ PROGRAM \PROGNAME\!\!
-
- %DECLARATIONS
- \DECL\!\!
- (2)\DECL\!\DECLARATIONS
-
- %STATEMENTS
- \STMT\!
- (3)\STMT\!\STATEMENTS
-
- \*
- \* Sub-blocks
- \*
-
- %DECL
- \COMMON
- \CHARDEF
- \INTDEF
- \REALDEF
- \LOGDEF
-
- %STMT
- (8)\ASSIGN
- \DOLOOP
- \IF
- \IFELSE
-
- \*
- \* Declarations
- \*
-
- %COMMON
- \I/ COMMON / \VARNAME / \VARLIST
-
- %CHARDEF
- \I/ CHARACTER*\NUM \VARLIST
-
- %INTDEF
- \I/ INTEGER \VARLIST
-
- %REALDEF
- \I/ REAL \VARLIST
-
- %LOGDEF
- \I/ LOGICAL \VARLIST
-
- \*
- \* Statements
- \*
-
- %ASSIGN
- \I/ \VARNAME = \EXPR
-
- %ASSIGNS
- (2)\ASSIGN
- \ASSIGN\!\ASSIGNS
-
- %DOLOOP
- \I/ DO \NUM \VARNAME = \NUM/ ,\NUM\!\ASSIGNS\!\LNUM/ CONTINUE
-
- %IF
- \I/ IF (\COND/ ) GOTO \NUM
- \I/ IF (\COND/ ) THEN\!\ASSIGNS\!\I/ END IF
-
- %IFELSE
- \I/ IF (\COND/ ) THEN\!\ASSIGNS\!\I/ ELSE\!\ASSIGNS\!\I/ END IF
-
- \*
- \* Miscellaneous
- \*
-
- %PROGNAME
- FRED
- TEST
- GAMMA2
- CUBIC
-
- %END
- \!\I/ END\!
-
- %VARNAME
- I
- J
- K
- X
- Y
- Z
- ALPHA
- BETA
-
- %VARLIST
- \VARNAME
- (3)\VARNAME/ ,\VARLIST
-
- %EXPR
- (5)\NUM
- (5)\VARNAME
- (5)\VARNAME\OP\VARNAME
- \VARNAME\OP/ (\EXPR/ )
- (1)(\EXPR/ )\OP\VARNAME
- SIN(\EXPR/ )
- COS(\EXPR/ )
- TAN(\EXPR/ )
-
- %OP
- *
- /
- +
- -
-
- %COND
- \VARNAME\REL\VARNAME
-
- %REL
- LT.
- LE.
- GE.
- GT.
- EQ.
- NE.
-
- %NUM
- \DIGIT
- \DIGIT\DIGIT
-
- %LNUM
- \DIGIT
- \DIGIT\DIGIT
-
- %I
-
-
- %DIGIT
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-